package cn.icatw.gulimall.cart.feign;

import cn.icatw.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author icatw
 * @date 2022/3/23
 * @email 762188827@qq.com
 * @apiNote
 */
@FeignClient("gulimall-product")
public interface ProductFeignService {

    /**
     * 得到sku信息
     *
     * @param skuId sku id
     * @return {@link R}
     */
    @RequestMapping("product/skuinfo/info/{skuId}")
    R getSkuInfo(@PathVariable("skuId") Long skuId);

    /**
     * 得到sku出售attr值
     *
     * @param skuId sku id
     * @return {@link List}<{@link String}>
     */
    @GetMapping("product/skusaleattrvalue/stringlist/{skuId}")
    List<String> getSkuSaleAttrValues(@PathVariable Long skuId);

    /**
     * 得到价格，用于更新最新购物车的购物项价格
     *
     * @param skuId sku id
     * @return {@link BigDecimal}
     */
    @GetMapping("product/skuinfo/{skuId}/price")
    BigDecimal getPrice(@PathVariable("skuId") Long skuId);
}
